package main

import (
	"fmt"
	"strconv"
)

func main() {
	var n11 int = 18
	var s11 string = strconv.FormatInt(int64(n11), 10) //参数：第一个参数必须转为int64类型 ，第二个参数指定字面值的进制形式为十进制
	fmt.Printf("s11对应的类型是：%T ，s11 = %q \n", s11, s11)
	var n22 float64 = 4.29
	var s22 string = strconv.FormatFloat(n22, 'f', 9, 64) //第二个参数：'f'（-ddd.dddd）  第三个参数：9 保留小数点后面9位  第四个参数：表示这个小数是float64类型
	fmt.Printf("s22对应的类型是：%T ，s22 = %q \n", s22, s22)
	var n33 bool = true
	var s33 string = strconv.FormatBool(n33)
	fmt.Printf("s33对应的类型是：%T ，s33 = %q \n", s33, s33)
	fmt.Println("-----------------------------------------")
	fmt.Println(strconv.Itoa(12)) // int 转string
	k, _ := strconv.Atoi("120")
	fmt.Println(k)                   // string-》 int
	k1 := fmt.Sprint(12, true, 12.9) // object-》string
	fmt.Println(k1)                  //
	fmt.Println("------------------强转-----------------------")
	//var p011 int = 20
	var p0 float32 = 20.288
	p00 := int8(p0)
	p01 := int16(p0)
	p02 := int32(p0)
	p03 := int64(p0)
	fmt.Printf("%T %T %T %T %T\n", p0, p00, p01, p02, p03)
	fmt.Printf("%v %v %v %v %v\n", p0, p00, p01, p02, p03)
	p10 := float32(p0)
	p11 := float64(p0)
	fmt.Printf("%T %T %T %v %v %v\n", p0, p10, p11, p0, p10, p11)

}
